import * as SignalTracker from '../misc/signalTracker.js';
import {adjustAnimationTime} from '../misc/animationUtils.js';
+const sessionSignalHolder = new SignalTracker.TransientSignalHolder();
+
setConsoleLogDomain('GNOME Shell');
Gio._promisify(Gio.DataInputStream.prototype, 'fill_async');
const [transition] = transitions;
if (transition && transition.delay)
- transition.connect('started', () => prepare());
+ transition.connectObject('started', () => prepare(), sessionSignalHolder);
else
prepare();
- if (transition)
- transition.connect('stopped', (t, finished) => callback(finished));
- else
+ if (transition) {
+ transition.connectObject('stopped', (t, finished) => callback(finished),
+ sessionSignalHolder);
+ } else {
callback(true);
+ }
}
function _easeAnimatableProperty(animatable, propName, target, params) {
transition.set_to(target);
if (transition.delay)
- transition.connect('started', () => prepare());
+ transition.connectObject('started', () => prepare(), sessionSignalHolder);
else
prepare();
- transition.connect('stopped', (t, finished) => callback(finished));
+ transition.connectObject('stopped',
+ (t, finished) => callback(finished), sessionSignalHolder);
}
// Add some bindings to the global JS namespace
SignalTracker.registerDestroyableType(Clutter.Actor);
+global.connectObject('shutdown', () => sessionSignalHolder.destroy(),
+ sessionSignalHolder);
+
Cairo.Context.prototype.setSourceColor = function (color) {
const {red, green, blue, alpha} = color;
const rgb = [red, green, blue].map(v => v / 255.0);